#!/bin/sh
# PCP QA Test No. 1106
# check __pmProcessUnpickArgs
#
# Copyright (c) 2017 Ken McDonell.  All Rights Reserved.
#

seq=`basename $0`
echo "QA output created by $seq"

# get standard environment, filters and checks
. ./common.product
. ./common.filter
. ./common.check

_cleanup()
{
    cd $here
    $sudo rm -rf $tmp $tmp.*
}

_filter_err()
{
    sed \
	-e 's/pid=[0-9][0-9]*/pid=PID/g' \
	-e 's/unpickargs([0-9][0-9]*/unpickargs(PID/g' \
	-e 's/[A-Z][a-z][a-z] [A-Z][a-z][a-z]  *[0-9][0-9]* [0-9][0-9]:[0-9][0-9]:[0-9][0-9]/DATE/' \
    # end
}

status=1	# failure is the default!
$sudo rm -rf $tmp $tmp.* $seq.full
trap "_cleanup; exit \$status" 0 1 2 3 15

# real QA test starts here
echo "--- simple cases ---"
src/unpickargs -D exec "cat" 2>$tmp.err 
_filter_err <$tmp.err
echo
src/unpickargs -D exec "echo a bb ccc dddd>eeee" 2>$tmp.err
_filter_err <$tmp.err
echo
src/unpickargs -D exec " echo  a  bb  ccc  dddd   " 2>$tmp.err
_filter_err <$tmp.err

echo
echo "--- quoting cases ---"
src/unpickargs -D exec "'echo' '' 'a' 'bb' 'ccc' 'dddd eeee'" 2>$tmp.err
_filter_err <$tmp.err
echo
src/unpickargs -D exec "echo a \"bb'ccc\" \"'dddd eeee'\"" 2>$tmp.err
_filter_err <$tmp.err
echo
src/unpickargs -D exec "echo a ' bb \" ccc ' \"' dddd eeee '\"" 2>$tmp.err
_filter_err <$tmp.err

echo
echo "--- error cases ---"
src/unpickargs -D exec "echo 'abc" 2>$tmp.err
_filter_err <$tmp.err
echo
src/unpickargs -D exec '"' 2>$tmp.err
_filter_err <$tmp.err
echo
src/unpickargs -D exec 'echo at the end "' 2>$tmp.err
_filter_err <$tmp.err

# success, all done
status=0
exit
